package security;

import java.util.Vector;

import security.Roles.*;


public class VectorInitClass {

	
	// create a set of crap
	public VectorInitClass() {
		User user = new VectorUser("test");
		AuthenticationToken token = new SimpleAuthenticationToken("test", "test");
		user.setUserToken(token);
		
		
		VectorUser.addUser(user);
		
		/**
		java.util.Random generator = new java.util.Random();

		int randomNr = generator.nextInt(20);
		
		for(int i=0;i<randomNr;i++) {
			User user = new VectorUser("testUser_" + i);			
			VectorUser.addUser(user);
		}
		
		randomNr = generator.nextInt(20);
	
		for(int i=0;i<randomNr;i++) {
			Role role = new VectorRole("testRole_" + i);			
			VectorRole.addRole(role);
		}
		
		randomNr = generator.nextInt(20);
		
		for(int i=0;i<randomNr;i++) {
			Group group = new VectorGroup("testGroup_" + i);			
			VectorGroup.addGroup(group);
		}		
		
		randomNr = generator.nextInt(20);
		
		for(int i=0;i<randomNr;i++) {
			Privilege p = new VectorPrivilege("testPrivilege_" + i);			
			VectorPrivilege.addPrivilege(p);
		}
		
		
		// printing the results
		System.out.println(VectorUser.getUsers().toString());
		System.out.println(VectorRole.getRoles().toString());
		System.out.println(VectorGroup.getGroups().toString());
		System.out.println(VectorPrivilege.getPrivileges().toString());
		**/
		
		// coupling

		/**
		// users -> roles
		for(int i=0;i<VectorUser.getUsers().size();i++) {
			for(int j=0;j<VectorRole.getRoles().size();j++) {
				VectorUser.getUsers().get(i).addUserRole(VectorRole.getRoles().get(j));
			}
		}
		// users -> groups
		for(int i=0;i<VectorUser.getUsers().size();i++) {
			for(int j=0;j<VectorGroup.getGroups().size();j++) {
				VectorUser.getUsers().get(i).addUserGroup(VectorGroup.getGroups().get(j));
			}
		}
		// users -> privileges
		for(int i=0;i<VectorUser.getUsers().size();i++) {
			for(int j=0;j<VectorPrivilege.getPrivileges().size();j++) {
				VectorUser.getUsers().get(i).addUserPrivilege((VectorPrivilege.getPrivileges().get(j)));
			}
		}
		**/
		
		// print the coupling
		
	}
}
